Rollup of 4 pull requests#153617
Conversation
Always make tuple elements a coercion site
Previously we only used `check_expr_coercible_to_type` if we had an expectation (using `check_expr_with_expectation(NoExpectation)` otherwise). Normally that'd be fine, because without an expectation we can't insert a coercion anyway. However, for the case of never-to-any coercion specifically, we _do_ insert it eagerly, so this prevents some code from compiling, for example:
```rust
((),) = (loop {},);
```
With this PR we are always using `check_expr_coercible_to_type` (using an infer var if there is no expectation), which allows slightly more code to compile.
Fixes rust-lang#112856
r? BoxyUwU
…r=RalfJung miri/const eval: support `MaybeDangling` r? RalfJung
…ete, r=fee1-dead,Nadrieril stop marking `deref_patterns` as an incomplete feature This PR removes the `incomplete_feature` warning for `deref_patterns`. The reason given for this in the tracking issue (rust-lang#87121) was > Per policy, the `incomplete_feature` is supposed to stay on until the feature has an accepted RFC. We're slowly working on writing up that RFC so it'll take some more time unfortunately. > > I don't know of any compiler crashes it causes today. The feature should be pretty usable. However, I could not find any evidence of such a policy. The [lint documentation](https://doc.rust-lang.org/rustc/lints/listing/warn-by-default.html#incomplete-features) for `incomplete_features` also only mentions features that are more likely to cause errors. There are also many other features without an RFC that are not considered incomplete, e.g. `macro_metavar_expr_concat`, `negative_impls` or `yeet_expr`. The feature does not cause any known ICEs either. The concrete motivation is to use this feature to replace `box_patterns` in the compiler and pave the way towards removing that legacy feature.
…ng-zst, r=RalfJung fix ICE in `const_c_variadic` when passing ZSTs fixes rust-lang#153351 r? RalfJung There was a mismatch between the caller and callee ABI where the caller does not pass ZST arguments, but the callee does expect them. Because ZSTs don't implement `VaArgSafe` the program must already be invalid if this comes up.
|
@bors r+ rollup=never p=5 |
This comment has been minimized.
This comment has been minimized.
|
💔 Test for 5de528f failed: CI. Failed job:
|
|
@bors retry |
This comment has been minimized.
This comment has been minimized.
|
A job failed! Check out the build log: (web) (plain enhanced) (plain) Click to see the possible cause of the failure (guessed by this bot) |
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
|
📌 Perf builds for each rolled up PR:
previous master: 3945997aab In the case of a perf regression, run the following command for each PR you suspect might be the cause: |
What is this?This is an experimental post-merge analysis report that shows differences in test outcomes between the merged PR and its parent PR.Comparing 3945997 (parent) -> 2d76d9b (this PR) Test differencesShow 34 test diffsStage 1
Stage 2
Additionally, 28 doctest diffs were found. These are ignored, as they are noisy. Job group index
Test dashboardRun cargo run --manifest-path src/ci/citool/Cargo.toml -- \
test-dashboard 2d76d9bc76f27b03b4899e72ce561c7ac2c5cf6b --output-dir test-dashboardAnd then open Job duration changes
How to interpret the job duration changes?Job durations can vary a lot, based on the actual runner instance |
|
Finished benchmarking commit (2d76d9b): comparison URL. Overall result: ❌✅ regressions and improvements - no action needed@rustbot label: -perf-regression Instruction countOur most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.
Max RSS (memory usage)This benchmark run did not return any relevant results for this metric. CyclesResults (secondary -2.6%)A less reliable metric. May be of interest, but not used to determine the overall result above.
Binary sizeThis benchmark run did not return any relevant results for this metric. Bootstrap: 480.086s -> 479.112s (-0.20%) |
Successful merges:
MaybeDangling#150446 (miri/const eval: supportMaybeDangling)deref_patternsas an incomplete feature #153053 (stop markingderef_patternsas an incomplete feature)const_c_variadicwhen passing ZSTs #153398 (fix ICE inconst_c_variadicwhen passing ZSTs)r? @ghost
Create a similar rollup